﻿//////////#define _CRT_SECURE_NO_WARNINGS
//////////
////////////#include <iostream>
////////////#include <string>
////////////
////////////using namespace std;
////////////
////////////int add(int a, int b)
////////////{
////////////	return a + b;
////////////}
////////////
////////////int add(double x, double y)
////////////{
////////////	return x + y;
////////////}
////////////
////////////int main()
////////////{
////////////	cout << (int)string::npos << endl;
////////////	int a = 1, b = 1;
////////////	add(a, b);
////////////
////////////	cout << string::npos << endl;
////////////	string str = "";
////////////	//str.substr();//如果函数不传参数，就是从下标为0的位置开始截取，直到结尾，得到的是整个字符串；
////////////	//str.substr(pos);//从指定下标pos位置开始截取子串，直到结尾；
////////////	//str.substr(pos, len);//从指定下标pos位置开始截取⻓度为len的子串
////////////	bool tf = true;
////////////	cout << to_string(tf) << endl;
////////////
////////////	return 0;
////////////}
//////////
////////////#include <iostream>
////////////#include <string>
////////////using namespace std;
////////////
////////////int main()
////////////{
////////////    string s = "";
////////////    getline(cin, s);
////////////    size_t pos = 0;
////////////    int n = 0;
////////////    for (;;)
////////////    {
////////////        pos = s.find(' ', pos);
////////////        if (pos == string::npos)
////////////        {
////////////            break;
////////////        }
////////////        else
////////////        {
////////////            pos++;
////////////            n++;
////////////        }
////////////    }
////////////    cout << s.size() - n - (s.find('\n', 0) != string::npos) << endl;
////////////
////////////    return 0;
////////////}
//////////
////////////Rock, Scissors, Paper
////////////Player1
////////////Tie
////////////Player2
//////////
////////////#include <iostream>
////////////#include <string>
////////////using namespace std;
////////////
////////////int main()
////////////{
////////////    int p1, p2;
////////////    char s1[10], s2[10];
////////////    string s = "RSP";
////////////    int n;
////////////    cin >> n;
////////////    for (int i = 0; i < n; i++)
////////////    {
////////////        cin >> s1 >> s2;
////////////        p1 = s.find(s1, 0, 1) + 1;
////////////        p2 = s.find(s2, 0, 1) + 1;
////////////        if (p1 - p2 == 0)
////////////        {
////////////            cout << "Tie" << endl;
////////////        }
////////////        else if (p1 - p2 == -1 || p1 - p2 == 2)
////////////        {
////////////            cout << "Player1" << endl;
////////////        }
////////////        else
////////////        {
////////////            cout << "Player2" << endl;
////////////        }
////////////    }
////////////
////////////    return 0;
////////////}
//////////
////////////#include <iostream>
////////////#include <string>
////////////using namespace std;
////////////
////////////int main()
////////////{
////////////    string s;
////////////    getline(cin, s);
////////////    auto b = s.begin();
////////////    auto e = s.end();
////////////    for (; b < e; b++)
////////////    {
////////////        if (!isalpha(*b)) cout << *b;
////////////        else if (*b == 'a') cout << 'z';
////////////        else if (*b == 'A') cout << 'Z';
////////////        else cout << (char)(*b - 1);
////////////    }
////////////
////////////    return 0;
////////////}
////////////1 str：后接插入，在文档后面插入字符串 str，并输出文档的字符串；
////////////2 a b：截取文档部分，只保留文档中从第 a 个字符起 b 个字符，并输出文档的字符串；
////////////3 a str：插入片段，在文档中第 a 个字符前面插入字符串 str，并输出文档的字符串；
////////////4 str：查找子串，查找字符串 str 在文档中最先的位置并输出；如果找不到输出 −1。
//////////
//////////#include <iostream>
//////////#include <string>
//////////using namespace std;
//////////
//////////int main()
//////////{
//////////	int n, n1, n2, n3;
//////////	string str, str1, str_temp;
//////////	cin >> n;
//////////	cin >> str;
//////////	for (int i = 0; i < n; i++)
//////////	{
//////////		cin >> n1;
//////////		switch (n1)
//////////		{
//////////		case 1:
//////////		{
//////////			cin >> str1;
//////////			str = str + str1;
//////////			cout << str << endl;
//////////			break;
//////////		}
//////////		case 2:
//////////		{
//////////			cin >> n2 >> n3;
//////////			str = str.substr(n2, n3);
//////////			cout << str << endl;
//////////			break;
//////////		}
//////////		case 3:
//////////		{
//////////			cin >> n2 >> str1;
//////////			str.insert(n2, str1);
//////////			cout << str << endl;
//////////			break;
//////////		}
//////////		case 4:
//////////		{
//////////			cin >> str1;
//////////			cout << (long long)str.find(str1) << endl;
//////////		}
//////////		}
//////////	}
//////////
//////////	return 0;
//////////}
////////
////////#include <iostream>
////////#include <string>
////////using namespace std;
////////
////////int main()
////////{
////////	string str = "";
////////	getline(cin, str);
////////	auto b1 = str.begin();
////////	auto b2 = b1;
////////	auto e = str.end();
////////	for (; b2 < e; b2++)
////////	{
////////		if (*b2 == ' ' && *(b2 - 1) != ' ')
////////		{
////////			cout << b2 - b1;
////////			cout << ',';
////////		}
////////		else if (*b2 != ' ' && b2 != b1 && *(b2 - 1) == ' ')
////////		{
////////			b1 = b2;
////////		}
////////	}
////////	cout << b2 - b1;
////////
////////	return 0;
////////}
//////
//////#include <iostream>
//////#include <string>
//////using namespace std;
//////
//////int main()
//////{
//////	string str, str_temp;
//////	string::iterator b, e;
//////	for (; cin >> str_temp;)
//////	{
//////		b = str_temp.begin();
//////		e = str_temp.end();
//////		for (; b < e;)
//////		{
//////			e--;
//////			str.push_back(*e);
//////		}
//////		cout << str << endl;
//////		str = "";
//////	}
//////
//////	return 0;
//////}
////
////#include <iostream>
////#include <algorithm>
////#include <string>
////using namespace std;
////
////int main()
////{
////	string str, str1;
////	getline(cin, str);
////	str1 = str;
////	reverse(str1.begin(), str1.end());
////	if (str == str1)
////	{
////		cout << "yes" << endl;
////	}
////	else
////	{
////		cout << "no" << endl;
////	}
////
////	return 0;
////}
//
//#include <iostream>
//#include <string>
//using namespace std;
//
//int main()
//{
//	string str;
//	getline(cin, str);
//	auto b = str.begin();
//	auto e = str.end();
//	int n = 0;
//	for (; b < e ; b++)
//	{
//		if (*b == ' ')
//		{
//			n++;
//		}
//		else if (*b < 's')
//		{
//			n += (*b - 'a') % 3 + 1;
//		}
//		else if (*b == 's' || *b == 'z')
//		{
//			n += 4;
//		}
//		else
//		{
//			n += (*b - 'a' - 1) % 3 + 1;
//		}
//	}
//	cout << n << endl;
//
//	return 0;
//}

//#include <iostream>
//#include <string>
//using namespace std;
//
//int main()
//{
//	int times[26] = { 1,2,3 ,1,2,3 ,1,2,3 ,1,2,3 ,1,2,3 ,1,2,3,4 ,1,2,3 ,1,2,3,4 };
//	string str;
//	getline(cin, str);
//	auto b = str.begin();
//	auto e = str.end();
//	int n = 0;
//	for (; b < e; b++)
//	{
//		if (isalpha(*b))
//		{
//			n += times[*b - 'a'];
//		}
//		else
//		{
//			n++;
//		}
//	}
//	cout << n << endl;
//
//	return 0;
//}

#include <iostream>
#include <string>
using namespace std;

int main()
{
	int n = 0;
	cin >> n;
	string actions, str1, str2, result;
	int a, b;
	for (int i = 0; i < n; i++)
	{
		cin >> str1;
		if (str1 == "a" || str1 == "b" || str1 == "c")
		{
			actions = str1;
			cin >> str1 >> str2;
		}
		else
		{
			cin >> str2;
		}
		a = stoi(str1);
		b = stoi(str2);
		if (actions == "a")      result = str1 + "+" + str2 + "=" + to_string(a + b);
		else if (actions == "b") result = str1 + "-" + str2 + "=" + to_string(a - b);
		else if (actions == "c") result = str1 + "*" + str2 + "=" + to_string(a * b);
		cout << result << endl;
		cout << result.size() << endl;
	}

	return 0;
}